/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 * NuGat-API named Chameleon developed by Simon De Baets to Verimag.
 *
 */
package chameleon.model.NuGatStructure.fsm;

import chameleon.gameSolver.NuGat.NuGatInterface;
import chameleon.model.NuGatStructure.utils.Expression;
import chameleon.model.NuGatStructure.utils.NodeList;
import chameleon.model.NuGatStructure.NuGatStructure;
import com.sun.jna.Pointer;

/**
 * This class is a wrapper to the C struct SexpFsm.c .
 * 
 * @author simon
 */
public class SexpFsm extends NuGatStructure {
    
    public SexpFsm (Pointer sexpFsm, NuGatInterface nugat){
        super (sexpFsm,nugat);
    }
    
    /**
     * Return the list of variables present in the sexpFsm. 
     *
     * @return NodeList_ptr
     */
    
    public NodeList  getVarsList(){
        return new NodeList (nugat_.SexpFsm_get_vars_list(this.ptr()),nugat_);
    }
    
    /**
     * 
     * @param node_ptr_var_name
     * @return 
     */
    
    public Expression getVarTrans(Pointer node_ptr_var_name){
        return  new Expression (nugat_.SexpFsm_get_var_trans(this.ptr(), node_ptr_var_name),
                nugat_);
    }
    
}
